Skip to content

Add Gemini support, summarization, Obsidian export, chunk resume, and provider selector#11

Merged
dmitry-kostin merged 1 commit intomainfrom
feat/gemini-summarize-integration-tests
Feb 20, 2026
Merged

Add Gemini support, summarization, Obsidian export, chunk resume, and provider selector#11
dmitry-kostin merged 1 commit intomainfrom
feat/gemini-summarize-integration-tests

Conversation

@dmitry-kostin
Copy link
Copy Markdown
Owner

Summary

  • Multi-provider transcription and summarization (OpenAI + Gemini) with provider selector UI
  • AI summarization via Chat Completions API, stored as sidecar markdown files with tab toggle
  • Obsidian export via URI scheme with remembered vault config
  • Duration limit — transcribe only the first N minutes
  • Chunk cache resume — interrupted transcriptions skip already-completed chunks
  • ETA progress with per-chunk timing in SSE events
  • Gemini retry logic (3 attempts, exponential backoff)
  • SVG liquid wave animation replacing CSS bars
  • Integration test overhaul with LLM judge quality validation

Test plan

  • poetry run pytest -v — all unit + endpoint tests pass
  • poetry run pytest -m integration -v — integration tests pass with real API keys
  • Transcribe multi-chunk video, cancel mid-way, re-transcribe — verify chunk resume
  • Switch providers in UI — verify correct models used
  • Test Obsidian export, duration limit, summarization

🤖 Generated with Claude Code

Interrupted multi-chunk transcriptions now resume from cached chunks
(results/{id}_chunks.json sidecar, SHA256-keyed for invalidation).
Gemini transcription retries up to 3 times with exponential backoff.
SSE progress events include chunk/eta_seconds fields. Logging moved
to app/main.py with startup provider summary. Controls disabled
during transcription.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@dmitry-kostin dmitry-kostin merged commit b5bd613 into main Feb 20, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant